With the advent of multimedia applications, computers now have the capability of accepting and handling data in a wide variety of different representations ranging from audio to video and even realistic three-dimensional graphics information. There are countless numbers of applications involving the mixture of audio, video, and graphics, such as real-time simulations, video teleconferencing, Internet-related activities, computer games, telecommuting, virtual reality, etc. The reason behind the proliferation of multimedia applications is due to the fact that much more information can be conveyed and readily comprehended with pictures and sounds rather than with text or numbers. Indeed, a picture is worth a thousand words. Besides enhanced user interface, computers are increasing being used to generate the media itself as a finished product. For example, powerful workstations are often utilized in movie studios to provide special effects for movies or computer animated films. Recording studios often use sophisticated computers for the production of professional quality CD's, tapes, and soundtracks.
However, the added degree of complexity for the design of such computer systems is tremendous. One problem which must be overcome relates to that of synchronization. Many different streams of media data (media streams) may need to be synchronized together, while otherwise operating at independent nominal rates, and at the same time other media streams in the same system might need to remain independent. Further, events in the computer system may need to be synchronized to other events in the system, at the same time that others in the same system might need to remain independent. Finally, media and events may need to be synchronized together with great precision in order to preserve existing or create new temporal correlation between those rates. for instance: video and audio media streams within the same production must generally be synchronized; and multiple tracks of audio from a single musical program must be synchronized. There are several different video formats, each of which has its own specified rate. Likewise, audio and graphics data may take different formats and rates (e.g., compact disk, digital audio tape, MPEG compressed, etc.). Unless there is some mechanism for synchronizing all of these different rates, the acquisition, manipulation, and playback of video, audio, and graphics would be disjointed and uncoordinated. For instance, video and audio clips having the same nominal durations, but based on non-isochronous time bases may need to be aligned and synchronized so that they can be presented simultaneously with temporal correlation between video events and corresponding audio sounds. Synchronization is required to match the audio with the video so that they both have the same duration even though they have different underlying data rates. Not only does synchronization match respective lengths, but it also provides proper alignment. In the past, clapboards were used in motion pictures in order to ensure that the soundtrack was correctly aligned with the film. With proper alignment, the sound of an explosion occurs at the same time as the display of a gunshot. Thus, synchronization must also provide for proper alignment of the various data running at different rates.
In the prior art, a common method for providing synchronization was to tie everything to a single "master" dock signal. All of the "slave" devices were referenced to running off this master clock signal via hardware or software based phase locked loops. Hence, most professional film editing/production facilities utilize dedicated, specialized and sometimes custom cables, routing, and interfacing for providing high-precision "house" synchronization.
These clock signals define the sample rate of the media stream. Clock synthesizers are typically used to provide the clock signals. Prior art audio dock synthesizers typically use a pair of cascaded multiplying phase lock loop structures for direct synthesis of a single audio dock signal based upon a black burst type video dock input signal. Audio dock signals, generated by these prior art audio clock synthesizers, typically lock to an NTSC or PAL rate video signal. There are several disadvantages associated with these prior art audio clock synthesizers. First, they are generally limited to a few discrete frequencies, or ratios of frequencies. Second, they are difficult to adjust via software control without interruption of the media stream flow, or modification of the media stream content in the form of sample rate conversion; In the case of analog PLL based synthesizers, they are subject to noise susceptibility, and long lock times; NEED MORE HERE.
Therefore, there is a demand for an advanced frequency synthesizer for use in synchronizing different data streams. The present invention provides a novel frequency synthesizer that is efficient, adjustable, and highly accurate. In addition, the frequency synthesizer of the present invention has the capability of generating multiple dock signals at desired frequencies which can be adjusted to meet stringent tolerances imposed by professional digital media requirements. With the present invention, multiple devices operating at different rates are synchronized precisely.